package com.i360day.redis.annotation;

import java.lang.annotation.*;

/**
 * <p> @Author liju.z <p>
 *
 * <p> @Description 缓存注解 <p>
 *
 * <p> @Date  17:18 <p>
 **/
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RedisCache {
    /**
     * 键名
     *
     * @return
     */
    String key() default "";

    /**
     * spel表达式
     */
    String fieldKey();

    /**
     * 过期时间
     *
     * @return
     */
    long expired() default 3600;

    /**
     * 是否为查询操作
     * 如果为写入数据库的操作，该值需置为 false
     *
     * @return
     */
    boolean read() default true;

    /**
     * 是否开启同步锁
     */
    boolean sync() default false;
}
